<?php
/*
 * Code voor het weergeven van de vacatures in beknopte vorm,
 * ook het weergeven van zoekresultaten.
 */
 
/* Als de gebruiker bij zoeken Opleiding leeglaat, dan kan de DB die waarde niet als index gebruiken hier.
 * In dat geval laten we Opleiding verwijzen naar 6 en dus "" zodat we de DB code ongemoeit kunnen laten.
 */
$opleidingen = array(1 => "Informatica",
					      "Bedrijfskundige Informatica",
						  "Technische Informatica",
						  "CMD",
						  "IDM", "");
							  
/**
 * Simpele functie die van '4', '4 dagen' maakt.
 * Belangrijker: '1' -> 'Gisteren'
 *               '0' -> 'Vandaag'
 */
function vacatures_DagenGeleden($dagenOud) {
	if($dagenOud == 0) {
		$dagenOud = "Vandaag";
	} elseif($dagenOud == 1) {
		$dagenOud = "Gisteren";
	} else {
		$dagenOud .= " dagen";
	}
	return $dagenOud;
}

/**
 * Geeft een lijstje van vacatures in een <ul> beknopt weer.
 */
function vacatures_Beknopt($vacatures, $vinkjes = true) {
	// De doelgroep is bepaald in index.php
	global $SiteType;
	
	// Loop over elk van de vacatures in de array en stop het in een HTML lijst
	echo "<ul class='vac-beknopt'>";	
	foreach($vacatures as $vac) {
		$dagenGeleden = vacatures_DagenGeleden($vac['dagenOud']);
		
		if(db_StudentHeeftGereageerd(student_verkrijgId(), $vac['v_id'])) {
			$reactie = "class='reactie'";
		} else {
			$reactie = "";
		}
		
		echo "<li>
				 <a href='index.php?type=$SiteType&id=view&vac={$vac['v_id']}'>
			       <em>{$vac['onderwerp']} (".db_AantalReacties($vac['v_id']).")</em>
			       <span>{$vac['voornaam']} {$vac['achternaam']}</span>
			       <b>{$vac['datum']} - {$dagenGeleden}</b>
				   <span class='locatie'>Locatie {$vac['stad']}</span>";
				   if($vinkjes) {
					   if(db_StudentHeeftGereageerd(student_verkrijgId(), $vac['v_id']) && $SiteType == "student") {
						    echo "<span class='reactie'></span>";
					   }
				   }
				   
		echo "   </a>
			  </li>";
	}
	echo "</ul>";
}

function reacties_Beknopt($reacties) {
	// De doelgroep is bepaald in index.php
	global $SiteType;
	
	// Loop over elk van de vacatures in de array en stop het in een HTML lijst
	echo "<ul class='vac-beknopt'>";	
	foreach($reacties as $reac) {
		$dagenGeleden = vacatures_DagenGeleden($reac['dagenOud']);
		
		/*if(db_StudentHeeftGereageerd(student_verkrijgId(), $reac['v_id'])) {
			$reactie = "class='reactie'";
		} else {
			$reactie = "";
		}*/
		
		echo "<li>
				 <a href='index.php?type=$SiteType&id=viewreactie&vac={$reac['r_id']}'>
			       <em>{$reac['onderwerp']} (".db_AantalReacties($reac['r_id']).")</em>
			       <span>{$reac['voornaam']} {$reac['achternaam']}</span>
			       <b>{$reac['datum']} - {$dagenGeleden}</b>
				   <span class='locatie'>Locatie {$reac['stad']}</span>";
				   /*if($vinkjes) {
					   if(db_StudentHeeftGereageerd(student_verkrijgId(), $reac['v_id']) && $SiteType == "student") {
						    echo "<span class='reactie'></span>";
					   }
				   }*/
				   
		echo "   </a>
			  </li>";
	}
	echo "</ul>";
}

function vacatures_ToonVacature($vac) {
	if(!db_VacatureBestaat($vac['v_id'])) {
		die("Vacature bestaat niet (meer).");
	}
	// student/bedrijf uit index.php
	global $SiteType;
	
	// Standaard functies om adres weer te geven
    require("lib/adres.php");
	
    
    ?>
	<form id="prof-overzicht" class="ala" action="index.php?type=student&id=reactie&num=<?php echo student_verkrijgId(); ?>&vac=<?php echo $vac['v_id'] ?>" method="post">
	<fieldset class='big'>
	<legend>Bericht</legend>
		<li>
			<label><b>Onderwerp:</b></label>
			<?php echo $vac['onderwerp'] ?>
		</li>
		<li>
			<label><b>Inhoud:</b></label>
			<?php echo nl2br($vac['inhoud']);?>
		</li>
	</fieldset>
		<input type="hidden" name="s_id" value="<?php echo student_verkrijgId(); ?>" />
		<input type="hidden" name="v_id" value="<?php echo $vac["v_id"]; ?>" />
		<input type="hidden" name="getal" value="0" />
		<input type="submit" value="Reactie Plaatsen">
	</form><?php
		
	echo "<div id='reacties'>";
	echo "<h3>Reacties</h3>";
	vacatures_ToonReacties(db_VerkrijgReacties($vac["v_id"]), $vac["v_id"]);
	echo "</div>";
}

function vacatures_ToonReactie($vac) {
	if(!db_ReactieBestaat($vac['r_id'])) {
		die("Vacature bestaat niet (meer).");
	}
	// student/bedrijf uit index.php
	global $SiteType;
	
	// Standaard functies om adres weer te geven
    require("lib/adres.php");
	
    
    ?>
	<form id="prof-overzicht" class="ala" action="index.php?type=student&id=reactie&num=<?php echo student_verkrijgId(); ?>&vac=<?php echo $vac['r_id'] ?>" method="post">
	<fieldset class='big'>
	<legend>Bericht</legend>
		<li>
			<label><b>Onderwerp:</b></label>
			<?php echo $vac['onderwerp'] ?>
		</li>
		<li>
			<label><b>Inhoud:</b></label>
			<?php echo nl2br($vac['inhoud']);?>
		</li>
	</fieldset>
		<input type="hidden" name="s_id" value="<?php echo student_verkrijgId(); ?>" />
		<input type="hidden" name="v_id" value="<?php echo $vac["r_id"]; ?>" />
		<input type="hidden" name="getal" value="0" />
		<input type="submit" value="Reactie Plaatsen">
	</form><?php
}

function vacatures_ToonBerichtReactieForm($vac) {
	// student/bedrijf uit index.php
	global $SiteType;
	
	// Standaard functies om adres weer te geven
    require("lib/adres.php");
	
    $i = $_POST['getal'];
    ?>
    <?php
	
	$studentHeeftToegang = student_IsIngelogd()
	                       && $SiteType == "student";
						   						   
    if($studentHeeftToegang) {
       
		
			if(isset($_GET['error'])) {
				echo "<h2>U heeft mogelijk niet alle velden correct ingevuld.</h2>";
			}?>
			
			<form id="prof-overzicht" class="ala" method="post" action="lib/reactie_plaatsen.php">
			<fieldset class='big'>
			<legend>Reactie</legend>
				<li>
					<label><b>Onderwerp:</b></label>
					<?php echo "RE: " . $vac['onderwerp']; ?>
				</li>
				<li>
					<label><b>Inhoud:</b></label>
					<textarea name="inhoud" cols="32" rows="15"></textarea>
				</li>
			</fieldset>
				<input type="hidden" name="onderwerp" value="<?php echo "RE: "; echo $vac['onderwerp'];?>" />
					<input type="hidden" name="s_id" value="<?php echo student_verkrijgId(); ?>" />
					<input type="hidden" name="v_id" value="<?php echo $vac["v_id"]; ?>" />
					<input type="submit" value="Plaatsen">
			</form><?php

	} else {
		echo "<h3><em>Om te kunnen reageren moet je ingelogd zijn.</em></h3>";
	}
}

function vacatures_ToonReactieReactieForm($vac) {
	// student/bedrijf uit index.php
	global $SiteType;
	
	// Standaard functies om adres weer te geven
    require("lib/adres.php");
	
    ?>
    <?php
	
	$studentHeeftToegang = student_IsIngelogd()
	                       && $SiteType == "student";
						   						   
    if($studentHeeftToegang) {
       
		
			if(isset($_GET['error'])) {
				echo "<h2>U heeft mogelijk niet alle velden correct ingevuld.</h2>";
			}?>
			
			<form id="prof-overzicht" class="ala" method="post" action="lib/reactie_plaatsen.php">
			<fieldset class='big'>
			<legend>Reactie</legend>
				<li>
					<label><b>Onderwerp:</b></label>
					<?php echo "RE: " . $vac['onderwerp']; ?>
				</li>
				<li>
					<label><b>Inhoud:</b></label>
					<textarea name="inhoud" cols="32" rows="15"></textarea>
				</li>
			</fieldset>
				<input type="hidden" name="onderwerp" value="<?php echo "RE: "; echo $vac['onderwerp'];?>" />
					<input type="hidden" name="s_id" value="<?php echo $_GET['num']; ?>" />
					<input type="hidden" name="v_id" value="<?php echo $_GET["vac"]; ?>" />
					<input type="submit" value="Plaatsen">
			</form><?php

	} else {
		echo "<h3><em>Om te kunnen reageren moet je ingelogd zijn.</em></h3>";
	}
}

function vacatures_ToonReacties($reacties, $vac_id) {
	if(count($reacties) == 0) {
		echo "<p>Geen.</p>";
	}
	echo "<ul>";
	foreach($reacties as $reactie) {
		$dagenGeleden = vacatures_DagenGeleden($reactie['dagenOud']);
		echo "<li>
		         <a href='index.php?type=student&id=viewreactie&num={$reactie['s_id']}&vac={$vac_id}&reactie={$reactie['r_id']}'>
			       <em>{$reactie['voornaam']} {$reactie['achternaam']}</em>
			       <b>{$reactie['datum']} - {$dagenGeleden}</b>
			     </a>
			  </li>";
	}
	echo "</ul>";
}

function vacatures_ToonResultaten($results, $trefwoorden, $uitgebreid = false, $doelgroep = "student") {
	global $opleidingen;
	global $SiteType;
	
	// Opdrachten weer te geven per pagina
	$stap_grootte = 15;	
	
	// Welk resultaat beginnen we mee?
	$begin_op = isset($_GET['begin-op']) ? $_GET['begin-op'] : 0;
	
	// Totaal opslaan en verwijderen uit resultaten
	$cnt = $results['totaal'];
	unset($results['totaal']);
	
	/*
	 * Weergeven zoekopdrachten
	 */
	echo "<div id='left-content'>";
	
	if(!$uitgebreid) {
	    echo "<h3>U zocht op <em>$trefwoorden</em>&nbsp;<img src='gfx/zoek-mini.gif' /></h3>";
	} else {
		// Indien opleiding niet gezet is, gebruik dan de index 6 die verwijst naar "" in $opleidingen
		if($trefwoorden['opleiding'] == '') { $trefwoorden['opleiding'] = 6; }
		
		$termen = <<<TXT
		<table class='zoeken' id='resultaat'>
		<tr><th>Functie:</th><td>'{$trefwoorden['functie']}'</td></tr>
		<tr><th>Sector:</th><td>'{$trefwoorden['sector']}'</td></tr>
		<tr><th>Opleiding:</th><td>'{$opleidingen[$trefwoorden['opleiding']]}'</td></tr>
		<tr><th>Jaar:</th><td>'{$trefwoorden['jaar']}'</td></tr>
		</table>
TXT;
		echo "<h3>U zocht op <img src='gfx/zoek-mini.gif' /><br /><em>$termen</em></h3>";
	}
	
    if($cnt == 1) {
        $res = "is <strong>$cnt</strong> resultaat";
    } else {
        $res = "zijn <strong>$cnt</strong> resultaten";
    }
    echo "<p>Er $res gevonden.</p>";
	
	/**
	 * Berekenen van aantal pagina's en de huidige pagina
	 */
	$paginas = ceil($cnt / $stap_grootte);
	if($cnt > 0 && $begin_op > 0) {
		$cur_pagina = $paginas % $begin_op;
	} else if($cnt > 0 && $begin_op == 0) {
		$cur_pagina = 1;
	} else {
		$cur_pagina = 0;
	}
	
	/**
	 * Weergeven resultaten
	 */
	echo "</div><div id='right-content'>";
	echo "<p>Pagina $cur_pagina / $paginas - [".($begin_op + 1)." tot $cnt]</p></p>";
	vacatures_ToonPaginaNavigatie($begin_op, $cnt, $stap_grootte);
    echo "<ul class='vac-beknopt'>";
    
    foreach($results as $num => $row) {
    ?>
            <li><a href="index.php?type=<?php echo $doelgroep; ?>&id=view&num=<?php echo $row['id']; ?>">
                <em><?php echo $row['onderwerp']; echo " (".db_AantalReacties($row['id']).")"; ?></em>
                <span><?php echo $row['voornaam'] . " " . $row['achternaam'] ?></span>
				<b><?php echo $row['datum'] ?> - <?php echo vacatures_DagenGeleden($row['dagenOud']) ?></b>
				<?php
					// Toon een vinkje indien student heeft gereageerd op deze opdracht
					if(db_StudentHeeftGereageerd(student_verkrijgId(), $row['id']) && $SiteType == "student") {
						echo "<span class='reactie'></span>";
					}
				?>
				<span class='locatie'>Locatie <?php echo $row['stad'] ?></span>
                </a>
            </li>
    <?php
    }
    echo "</ul>";
	
	vacatures_ToonPaginaNavigatie($begin_op, $cnt, $stap_grootte);
	
	// right-content en content-wrapper
	echo "</div></div>";
}

function vacatures_ToonPaginaNavigatie($begin_op, $totaal, $stap_grootte) {
	
	$volgende_pagina = vacatures_MaakNavigatieURL($begin_op, $stap_grootte, ($begin_op + $stap_grootte), $totaal, $stap_grootte);	
	$vorige_pagina = vacatures_MaakNavigatieURL($begin_op, $stap_grootte, ($begin_op - $stap_grootte), $totaal, 0);
	
	echo "<span class='zoek-nav'>";
	if(($begin_op + $stap_grootte) < $totaal) {
		echo "<a class='volgende' href='$volgende_pagina'>Volgende pagina&#187;</a>";
	}
	
	if(($begin_op - $stap_grootte) > -1) {
		echo "<a class='vorige' href='$vorige_pagina'>&#171;Vorige Pagina</a>";
	}
	echo "</span>";
}

/**
 * Lelijke functie om de URL te maken voor volgende en vorige pagina.
 * @param $volgende_begin De nieuwe begin_op (bijv. begin_op + 15)
 * @param $totaal Totaal aantal resultaten
 * @param $zero De begin-op om weer te geven indien we niet verder heen of terug kunnen
 */
function vacatures_MaakNavigatieURL($begin_op, $stap_grootte, $volgende_begin, $totaal, $zero) {
	if($begin_op == 0) {
		// Indien begin-op al in de URL staat moeten we 'm aanpassen met $zero
		if(isset($_GET['begin-op'])) {
			$url = preg_replace('/(begin-op=)([0-9]+)/', '${1}'.$zero, $_SERVER['REQUEST_URI']);
		// Hij staat niet in de URL, we maken gewoon URL
		} else {
			$url = $_SERVER['REQUEST_URI']."&begin-op={$zero}";
		}
	} else {
		// Indien begin-op een valide waarde krijgt
		if(($volgende_begin <= $totaal) && ($volgende_begin > -1)) {
			$url = preg_replace('/(begin-op=)([0-9]+)/', '${1}'.$volgende_begin, $_SERVER['REQUEST_URI']);
		} else {
		// Laat het anders zoals het is
			$url = $_SERVER['REQUEST_URI'];
		}
	}
	return $url;
}
?>